package cn.design.realize;

/**
 * @author dlq
 * @description 终结符表达式角色(Terminal Expression)：实现了抽象表达式角色所要求的接口，主要是一个interpret()方法；文法中的每一个终结符都有一个具体终结表达式与之相对应。比如有一个简单的公式R=R1+R2，在里面的R1和R2就是终结符，对应的解析R1和R2的解释器就是终结符表达式
 *              这个 的 变量终结符表达式
 * @date 2020/9/29 10:28
 * @since 1.0
 */
public class VariableTerminalExpression extends Expression{
    //保证了 key的唯一性
    private final String key;

    public VariableTerminalExpression(String key) {
        this.key = key;
    }


    @Override
    public int interpret(Context context) throws Exception {
      return context.getVariable(key);
    }
}
